package com.cjkj.system.service;

import com.cjkj.common.core.web.domain.AjaxResult;
import com.cjkj.common.core.web.page.TableDataInfo;
import com.cjkj.system.api.domain.request.EquipmentHistoryReq;
import com.cjkj.system.domain.dto.HourlyDataReq;
import com.cjkj.system.domain.dto.TJ02ReportsDataReq;
import com.cjkj.system.domain.vo.*;
import com.cjkj.system.domain.vo.report.HeartRateReportVo;
import com.cjkj.system.domain.vo.report.SpO2ReportVo;
import com.cjkj.system.domain.vo.report.TJ02ReportsDataVo;
import com.cjkj.system.domain.vo.report.TemperatureReportVo;

import java.util.List;

public interface ReportTJ02Service {

    /**
     * 多参数监测仪 脉率报告
     * @param visitNo 就诊号
     * @return
     */
    HeartRateReportVo getTJ02HeartRateReports(Long visitNo);

    /**
     * 多参数监测仪 血氧报告
     * @param visitNo 就诊号
     * @return
     */
    SpO2ReportVo getTJ02SpO2Reports(Long visitNo);

    /**
     * 多参数监测仪 体温报告
     * @param visitNo 就诊号
     */
    TemperatureReportVo getTJ02TemperatureReports(Long visitNo);

    /**
     * 获取报告数据
     * @param req
     * @return
     */
    List<TJ02ReportsDataVo> getPatientReportData(TJ02ReportsDataReq req);
    List<TJ02ReportsDataVo> virtualReportDataGeneration(TJ02ReportsDataReq req);

    /**
     * 大屏根据就诊号查询就诊时间范围内的体征数据
     * @param visitNo
     * @return
     */
    ScreenSignVo getPatBraceletSign(Long visitNo);

    /**
     * 获取患者的整点监测数据
     */
    TableDataInfo getHourlyData(HourlyDataReq req);

    /**
     * 获取历史记录
     * @param req
     * @return
     */
    AjaxResult getBraceletHistoryData(EquipmentHistoryReq req);
}
